import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    redirect: '/login'
  },
  {
    path: '/login',
    name: 'login',
    component: Login
  },
  {
    path: '/home',
    name: 'home',
    component: Home
  }
]

const router = new VueRouter({
  routes
})

// 路由导航守卫。防止用户直接进入未经授权的页面。
// 比如直接在导航栏导航到主页，而不经过登录
router.beforeEach((to, from, next) => {
  // to和from都是next对象：to表示去哪，from表示从哪来。
  // next是个函数，参数为空直接放行，有参数强行跳转到参数页面
  if (to.path === '/login') next()
  // 通过页面是否有token判断用户是否登录过
  const tokenStr = window.sessionStorage.getItem('token')
  if (!tokenStr) next('/login')
  next()
})

export default router
